package com.py.purchase.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 py_inbound_detalis
 *
 * @author ruoyi
 * @date 2024-12-01
 */
public class PyInboundDetalis extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 入库商品明细id
     */
    private Long rkDetailsId;

    /**
     * 入库编码
     */
    @Excel(name = "入库编码")
    private String inventoryNumber;

    /**
     * 商品编码
     */
    @Excel(name = "商品编码")
    private String productCode;

    /**
     * 进货订单编码
     */
    @Excel(name = "进货订单编码")
    private String phCode;

    /**
     * 进货明细主键
     */
    @Excel(name = "进货明细主键")
    private Long phDetailsId;

    /**
     * 库位id
     */
    @Excel(name = "库位id")
    private Long locationId;

    /**
     * 本次入库数量
     */
    @Excel(name = "本次入库数量")
    private Long quantityThisTime;

    /**
     * 已入库数量
     */
    @Excel(name = "已入库数量")
    private Long quantityReceived;

    /**
     * 未入库数量
     */
    @Excel(name = "未入库数量")
    private Long quantityPending;

    /**
     * 入库单价
     */
    @Excel(name = "入库单价")
    private BigDecimal inboundPrice;

    /**
     * 入库金额
     */
    @Excel(name = "入库金额")
    private BigDecimal inboundAmount;

    /**
     * 批次号
     */
    @Excel(name = "批次号")
    private String batchNumber;

    /**
     * 生成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remarks;

    public void setRkDetailsId(Long rkDetailsId) {
        this.rkDetailsId = rkDetailsId;
    }

    public Long getRkDetailsId() {
        return rkDetailsId;
    }

    public void setInventoryNumber(String inventoryNumber) {
        this.inventoryNumber = inventoryNumber;
    }

    public String getInventoryNumber() {
        return inventoryNumber;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setPhCode(String phCode) {
        this.phCode = phCode;
    }

    public String getPhCode() {
        return phCode;
    }

    public void setPhDetailsId(Long phDetailsId) {
        this.phDetailsId = phDetailsId;
    }

    public Long getPhDetailsId() {
        return phDetailsId;
    }

    public void setLocationId(Long locationId) {
        this.locationId = locationId;
    }

    public Long getLocationId() {
        return locationId;
    }

    public void setquantityThisTime(Long quantityThisTime) {
        this.quantityThisTime = quantityThisTime;
    }

    public Long getquantityThisTime() {
        return quantityThisTime;
    }

    public void setQuantityReceived(Long quantityReceived) {
        this.quantityReceived = quantityReceived;
    }

    public Long getQuantityReceived() {
        return quantityReceived;
    }

    public void setQuantityPending(Long quantityPending) {
        this.quantityPending = quantityPending;
    }

    public Long getQuantityPending() {
        return quantityPending;
    }

    public void setInboundPrice(BigDecimal inboundPrice) {
        this.inboundPrice = inboundPrice;
    }

    public BigDecimal getInboundPrice() {
        return inboundPrice;
    }

    public void setInboundAmount(BigDecimal inboundAmount) {
        this.inboundAmount = inboundAmount;
    }

    public BigDecimal getInboundAmount() {
        return inboundAmount;
    }

    public void setbatchNumber(String batchNumber) {
        this.batchNumber = batchNumber;
    }

    public String getbatchNumber() {
        return batchNumber;
    }

    public void setProductionDate(Date productionDate) {
        this.productionDate = productionDate;
    }

    public Date getProductionDate() {
        return productionDate;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getRemarks() {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("rkDetailsId", getRkDetailsId())
                .append("inventoryNumber", getInventoryNumber())
                .append("productCode", getProductCode())
                .append("phCode", getPhCode())
                .append("phDetailsId", getPhDetailsId())
                .append("locationId", getLocationId())
                .append(" quantityThisTime", getquantityThisTime())
                .append("quantityReceived", getQuantityReceived())
                .append("quantityPending", getQuantityPending())
                .append("inboundPrice", getInboundPrice())
                .append("inboundAmount", getInboundAmount())
                .append(" batchNumber", getbatchNumber())
                .append("productionDate", getProductionDate())
                .append("remarks", getRemarks())
                .toString();
    }
}
